home *** CD-ROM | disk | FTP | other *** search
/ developer.apple.com / developer.apple.com.tar / developer.apple.com / tools / OptimizationExample.dmg / Optimization Example / listings / test.O0.s < prev    next >
Text File  |  2004-07-13  |  6KB  |  312 lines

  1.     .section __TEXT,__text,regular,pure_instructions
  2.     .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
  3. .data
  4. .cstring
  5.     .align 2
  6. LC0:
  7.     .ascii "doWhileWithReturn returned %d\12\0"
  8.     .align 2
  9. LC1:
  10.     .ascii "doubleTest returned %lf\12\0"
  11. .section __TEXT,__text,regular,pure_instructions
  12.     .align 2
  13.     .align 2
  14.     .globl _main
  15. .section __TEXT,__text,regular,pure_instructions
  16.     .align 2
  17. _main:
  18.     mflr r0
  19.     stmw r30,-8(r1)
  20.     stw r0,8(r1)
  21.     stwu r1,-96(r1)
  22.     mr r30,r1
  23.     bcl 20,31,"L00000000001$pb"
  24. "L00000000001$pb":
  25.     mflr r31
  26.     bl L_arrayAssignmentLoop$stub
  27.     bl L_doWhileWithReturn$stub
  28.     mr r0,r3
  29.     stw r0,64(r30)
  30.     addis r3,r31,ha16(LC0-"L00000000001$pb")
  31.     la r3,lo16(LC0-"L00000000001$pb")(r3)
  32.     lwz r4,64(r30)
  33.     bl L_printf$stub
  34.     bl L_doubleTest$stub
  35.     fmr f0,f1
  36.     stfd f0,72(r30)
  37.     addis r3,r31,ha16(LC1-"L00000000001$pb")
  38.     la r3,lo16(LC1-"L00000000001$pb")(r3)
  39.     lwz r9,72(r30)
  40.     lwz r10,76(r30)
  41.     lfd f0,72(r30)
  42.     mr r4,r9
  43.     mr r5,r10
  44.     fmr f1,f0
  45.     bl L_printf$stub
  46.     li r0,0
  47.     mr r3,r0
  48.     lwz r1,0(r1)
  49.     lwz r0,8(r1)
  50.     mtlr r0
  51.     lmw r30,-8(r1)
  52.     blr
  53.     .align 2
  54.     .globl _arrayAssignmentLoop
  55. .section __TEXT,__text,regular,pure_instructions
  56.     .align 2
  57. _arrayAssignmentLoop:
  58.     stmw r30,-8(r1)
  59.     stwu r1,-128(r1)
  60.     mr r30,r1
  61.     li r0,10
  62.     stw r0,32(r30)
  63.     li r0,0
  64.     stw r0,96(r30)
  65. L7:
  66.     addi r11,r30,96
  67.     lwz r9,0(r11)
  68.     mr r0,r9
  69.     slwi r2,r0,2
  70.     addi r0,r30,32
  71.     add r2,r2,r0
  72.     addi r2,r2,16
  73.     lwz r0,32(r30)
  74.     stw r0,0(r2)
  75.     addi r9,r9,1
  76.     stw r9,0(r11)
  77.     lwz r2,32(r30)
  78.     addi r0,r2,-1
  79.     stw r0,32(r30)
  80.     lwz r0,32(r30)
  81.     cmpwi cr7,r0,0
  82.     bne cr7,L7
  83.     lwz r1,0(r1)
  84.     lmw r30,-8(r1)
  85.     blr
  86.     .align 2
  87.     .globl _doWhileWithReturn
  88. .section __TEXT,__text,regular,pure_instructions
  89.     .align 2
  90. _doWhileWithReturn:
  91.     stmw r30,-8(r1)
  92.     stwu r1,-80(r1)
  93.     mr r30,r1
  94.     li r0,100
  95.     stw r0,32(r30)
  96.     li r0,0
  97.     stw r0,36(r30)
  98.     li r0,31
  99.     stw r0,40(r30)
  100.     li r0,2
  101.     stw r0,44(r30)
  102.     li r0,99
  103.     stw r0,48(r30)
  104. L12:
  105.     lwz r2,40(r30)
  106.     lwz r0,44(r30)
  107.     mullw r2,r2,r0
  108.     lwz r0,36(r30)
  109.     add r0,r0,r2
  110.     stw r0,36(r30)
  111.     lwz r2,40(r30)
  112.     lwz r0,44(r30)
  113.     mullw r0,r2,r0
  114.     stw r0,48(r30)
  115.     lwz r2,32(r30)
  116.     addi r0,r2,-1
  117.     mr r2,r0
  118.     stw r2,32(r30)
  119.     li r0,-1
  120.     cmpw cr7,r2,r0
  121.     bne cr7,L12
  122.     lwz r2,40(r30)
  123.     lwz r0,44(r30)
  124.     mullw r0,r2,r0
  125.     stw r0,48(r30)
  126.     lwz r0,36(r30)
  127.     mr r3,r0
  128.     lwz r1,0(r1)
  129.     lmw r30,-8(r1)
  130.     blr
  131. .data
  132. .literal8
  133.     .align 3
  134. LC2:
  135.     .long    1127219200
  136.     .long    0
  137. .section __TEXT,__text,regular,pure_instructions
  138.     .align 2
  139.     .align 2
  140.     .globl _doubleTest
  141. .section __TEXT,__text,regular,pure_instructions
  142.     .align 2
  143. _doubleTest:
  144.     stmw r30,-8(r1)
  145.     stwu r1,-96(r1)
  146.     mr r30,r1
  147.     mflr r0
  148.     bcl 20,31,"L00000000002$pb"
  149. "L00000000002$pb":
  150.     mflr r10
  151.     mtlr r0
  152.     li r0,100
  153.     stw r0,32(r30)
  154.     lwz r2,32(r30)
  155.     lwz r0,32(r30)
  156.     mullw r0,r2,r0
  157.     slwi r2,r0,3
  158.     addi r2,r2,15
  159.     addi r0,r2,15
  160.     srwi r0,r0,4
  161.     slwi r0,r0,4
  162.     lwz r2,0(r1)
  163.     neg r0,r0
  164.     stwux r2,r1,r0
  165.     addi r2,r1,32
  166.     addi r0,r2,15
  167.     srwi r0,r0,4
  168.     slwi r0,r0,4
  169.     stw r0,64(r30)
  170.     li r2,0
  171.     li r3,0
  172.     stw r2,40(r30)
  173.     stw r3,44(r30)
  174.     li r0,0
  175.     stw r0,48(r30)
  176. L17:
  177.     lwz r0,48(r30)
  178.     lwz r2,32(r30)
  179.     cmplw cr7,r0,r2
  180.     blt cr7,L20
  181.     b L18
  182. L20:
  183.     li r0,0
  184.     stw r0,52(r30)
  185. L21:
  186.     lwz r0,52(r30)
  187.     lwz r2,32(r30)
  188.     cmplw cr7,r0,r2
  189.     blt cr7,L24
  190.     b L19
  191. L24:
  192.     lwz r2,48(r30)
  193.     lwz r0,32(r30)
  194.     mullw r2,r2,r0
  195.     lwz r0,52(r30)
  196.     add r0,r2,r0
  197.     slwi r0,r0,3
  198.     lwz r2,64(r30)
  199.     add r9,r0,r2
  200.     lwz r0,48(r30)
  201.     lis r2,0x4330
  202.     addis r11,r10,ha16(LC2-"L00000000002$pb")
  203.     lfd f13,lo16(LC2-"L00000000002$pb")(r11)
  204.     stw r0,60(r30)
  205.     stw r2,56(r30)
  206.     lfd f0,56(r30)
  207.     fsub f0,f0,f13
  208.     stfd f0,0(r9)
  209.     lwz r2,48(r30)
  210.     lwz r0,32(r30)
  211.     mullw r2,r2,r0
  212.     lwz r0,52(r30)
  213.     add r0,r2,r0
  214.     slwi r0,r0,3
  215.     lwz r9,64(r30)
  216.     add r2,r0,r9
  217.     lfd f13,40(r30)
  218.     lfd f0,0(r2)
  219.     fadd f0,f13,f0
  220.     stfd f0,40(r30)
  221.     lwz r2,52(r30)
  222.     addi r0,r2,1
  223.     stw r0,52(r30)
  224.     b L21
  225. L19:
  226.     lwz r2,48(r30)
  227.     addi r0,r2,1
  228.     stw r0,48(r30)
  229.     b L17
  230. L18:
  231.     lfd f0,40(r30)
  232.     fmr f1,f0
  233.     lwz r1,0(r1)
  234.     lmw r30,-8(r1)
  235.     blr
  236. .data
  237. .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
  238.     .align 2
  239. L_doubleTest$stub:
  240.     .indirect_symbol _doubleTest
  241.     mflr r0
  242.     bcl 20,31,L0$_doubleTest
  243. L0$_doubleTest:
  244.     mflr r11
  245.     addis r11,r11,ha16(L_doubleTest$lazy_ptr-L0$_doubleTest)
  246.     mtlr r0
  247.     lwzu r12,lo16(L_doubleTest$lazy_ptr-L0$_doubleTest)(r11)
  248.     mtctr r12
  249.     bctr
  250. .data
  251. .lazy_symbol_pointer
  252. L_doubleTest$lazy_ptr:
  253.     .indirect_symbol _doubleTest
  254.     .long dyld_stub_binding_helper
  255. .data
  256. .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
  257.     .align 2
  258. L_printf$stub:
  259.     .indirect_symbol _printf
  260.     mflr r0
  261.     bcl 20,31,L1$_printf
  262. L1$_printf:
  263.     mflr r11
  264.     addis r11,r11,ha16(L_printf$lazy_ptr-L1$_printf)
  265.     mtlr r0
  266.     lwzu r12,lo16(L_printf$lazy_ptr-L1$_printf)(r11)
  267.     mtctr r12
  268.     bctr
  269. .data
  270. .lazy_symbol_pointer
  271. L_printf$lazy_ptr:
  272.     .indirect_symbol _printf
  273.     .long dyld_stub_binding_helper
  274. .data
  275. .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
  276.     .align 2
  277. L_doWhileWithReturn$stub:
  278.     .indirect_symbol _doWhileWithReturn
  279.     mflr r0
  280.     bcl 20,31,L2$_doWhileWithReturn
  281. L2$_doWhileWithReturn:
  282.     mflr r11
  283.     addis r11,r11,ha16(L_doWhileWithReturn$lazy_ptr-L2$_doWhileWithReturn)
  284.     mtlr r0
  285.     lwzu r12,lo16(L_doWhileWithReturn$lazy_ptr-L2$_doWhileWithReturn)(r11)
  286.     mtctr r12
  287.     bctr
  288. .data
  289. .lazy_symbol_pointer
  290. L_doWhileWithReturn$lazy_ptr:
  291.     .indirect_symbol _doWhileWithReturn
  292.     .long dyld_stub_binding_helper
  293. .data
  294. .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
  295.     .align 2
  296. L_arrayAssignmentLoop$stub:
  297.     .indirect_symbol _arrayAssignmentLoop
  298.     mflr r0
  299.     bcl 20,31,L3$_arrayAssignmentLoop
  300. L3$_arrayAssignmentLoop:
  301.     mflr r11
  302.     addis r11,r11,ha16(L_arrayAssignmentLoop$lazy_ptr-L3$_arrayAssignmentLoop)
  303.     mtlr r0
  304.     lwzu r12,lo16(L_arrayAssignmentLoop$lazy_ptr-L3$_arrayAssignmentLoop)(r11)
  305.     mtctr r12
  306.     bctr
  307. .data
  308. .lazy_symbol_pointer
  309. L_arrayAssignmentLoop$lazy_ptr:
  310.     .indirect_symbol _arrayAssignmentLoop
  311.     .long dyld_stub_binding_helper
  312.